#强制转化类型

###浮点型的转化
'''
强制转化类型
1. 在运算的时候  可以将整型自动转化为浮点型

'''

intval = 123
res = intval+12.11

#print(res)



########### 将类型转化为整型  int()  ############################


                    #转化之后(结果)

v = 2.22            #浮点型    2
v = '123.11'        #字符串,报错
v = '123'           #123  只有整型的字符串可以进行转化
v = 'as123'         #报错
v = '123sad'        #报错
v = False           #0
v = True            #1
#v = complex(2,2)    #报错

'''
#输出值 和  类型
print(v)
print(type(v))

#输出转化之后的值和类型
nv = int(v)
print(nv)
print(type(nv))
'''

########### 将类型转化为浮点型  float()  ############################


                        #转化之后的的结果
fl = 22.22              #原样
fl = 99                 #99.0
fl = False              #0.0
fl = True               #1.0
fl = complex(2,3)       #报错
fl = '123.1'            #123.1
fl = '123'              #123.0
fl = '123ksda'          #报错
                        #其他的都不可以


'''
#输出值 和  类型
print(fl)
print(type(fl))

#输出转化之后的值和类型
nfl = float(fl)
print(nfl)
print(type(nfl))
'''

########### 将类型转化为布尔型   bool()  ############################


b  = 0               #false
b = 0.0              #false
b = complex(0+9j)    #true
b = complex(0+0j)    #false
b = ''               #false
b = []               #空列表   false
b = ()               #控元祖   false
b = {}               #空字典   false
b = set()            #空元祖   false

'''
#输出值 和  类型
print(b)
print(type(b))

#输出转化之后的值和类型
nb = bool(b)
print(nb)
print(type(nb))

'''

########### 将类型转化为复数   complex()  ############################

c = 10                  #(10+0j)
c = 3.12123             #(3.12123+0j)
c = False               #0j
c = True                #(1+0j)
c = '213.122'           #(213.122+0j)
c = '(5+4j)'            #(5+4j)
c = '101'               #(101+0j)
c = 's10'               # 报错


                        #字符串，纯整型和浮点型字符串可以转化，其他都不行
''' 
#输出值 和  类型
print(c)
print(type(c))

#输出转化之后的值和类型
nc = complex(c)
print(nc)
print(type(nc))     
'''

########### 将类型转化为字符串类型   str()  ############################

s = 10
s = 10.22
s = complex(1,2)
s = True
s = False
s = ['asd','qwe','xs']  #list类型     ['asd', 'qwe', 'xs']
s = ('asd','123','eww') #tuple          ('asd','123','eww')
s = {'s':'asd'}         #dic         {'s': 'asd'}
s = set('sd')           #SET        {'s', 'd'}

################################################

'''所有转换均改变类型为字符串，表示方式依旧不变'''

################################################

'''
#输出值 和  类型
print(s)
print(type(s))

#输出转化之后的值和类型
ns = str(s)
print(ns)
print(type(ns))

'''


########### 将类型转化为列表类型   list()  ############################

'''在Python中有5中类型可以迭代序列  可以相互转换  他们分别是

    字符串   列表    元组    字典    集合'''


                                            #转换过之后

l = '少林功夫'                  #字符串    ['少', '林', '功', '夫']
l = (2,3,5,6)                   #元组      [2, 3, 5, 6]
l = {'占山','萨达'}             #集合      ['占山', '萨达']
l = {'qw':'请问','ds':'多少'}   #字典      ['qw', 'ds']
l = set('sadasd')               #set       ['s', 'a', 'd']
l = '123'                       #list(字符串)  ['1', '2', '3']
l = 123.12                      #整型和浮点型都不能转换
#l = False                       #不能转换
'''
#输出值 和  类型
print(l)
print(type(l))

#输出转化之后的值和类型
nl = list(l)
print(nl)
print(type(nl))
'''

########### 将类型转化为元组类型   tuple()  ############################

tplval = (1,1,1)            #tuple类型转化之后还是本身自己
tplval = '22.44'            #字符串  ('2', '2', '.', '4', '4')
tplval = {'1212','121','as'}        #set    ('121', 'as', '1212')
tplval = set('123aj')               #set    ('3', '2', '1', 'a', 'j')
tplval = ['1232','asas','sa','asdas']   #list   ('1232', 'asas', 'sa', 'asdas')
tplval = {'sad':'as','saa':'s'}     #dic    ('sad', 'saa')
#tplval = 123
#tplval = False                            #其他类型不能转换



'''
#输出值 和  类型
print(tplval)
print(type(tplval))

#输出转化之后的值和类型
nt = tuple(tplval)
print(nt)
print(type(nt))

'''

########### 将类型转化为字典类型   dict()  ############################

d = ['asd','12ds','ga12']       #list   不能转换

#注意  其他类型转化为字典类型的时候需要按照指定的格式才能进行转化
'''
        列表和元组的组合才可以
        
    '''
d = [['cat','黑猫'],['min','Love']]   #list   {'cat': '黑猫', 'min': 'Love'}
d = [('cat','龙猫'),('duck','糖')]     #list  {'cat': '龙猫', 'duck': '糖'}

#输出值 和  类型
print(d)
print(type(d))

#输出转化之后的值和类型
nd = dict(d)
print(nd)
print(type(nd))

























